import java.io.*;
import java.lang.*;
import java.util.*;

public class Router{
	
		static String prefijo = "192.168.";	

	public static void main( String args[] ){
		Set<Aula>listaAula;
		int maxAula=3;
		int i;

		Menu menuMain;
		boolean outMain = false ;

		listaAula = new HashSet<Aula>();

		menuMain=new Menu(
			"MENÚ PRINCIPAL\n"+
			"Introduzca (1) para añadir aula\n"+
			"Introduzca (2) para mostrar lista de aulas\n"+
			"Introduzca (3) para borrar aula \n"+
			"Introduzca (4) crear equipo en aula \n"+
			"Introduzca (5) para ver equipos en aula \n"+
			"Introduzca (6) para borrar equipo en aula\n"+
			"Introduzca (0) para salir\n"+
			"Elija una opcion:",
		        7);
			
		//List<Aula> listaAula = new ArrayList<Aula>();

		while (!outMain){
			int optionMain;
			optionMain = menuMain.drawAndValidate();
			switch (optionMain){
				
				case 1:
					try {
							BufferedReader stdin = (new BufferedReader (new InputStreamReader (System.in)));
							System.out.println("PARA CREAR NUEVA AULA INTRODUZCA NUMERO DE AULA: ");
							String numAula = stdin.readLine();
							listaAula.add(new Aula( numAula, prefijo ));
					}
					catch(IOException ex ){
						System.exit(1);
					}


					break;
				case 2:
					mostrarAula(listaAula);
					break;
				case 3:
					
					borrarAula(listaAula);
					break;
				case 4:
					
					agregarEquipo(listaAula);
					break;
				case 5:
					
					mostrarEquipos(listaAula);
					break;
				case 6: 
					borrarEquipos(listaAula);
					break;
				case 0:
					outMain=true;
					break;
			}
		}
	}

	public static void agregarEquipo(Collection<Aula> c){
		for (Iterator<Aula> it = c.iterator(); it.hasNext();){
			Aula pActual = it.next();
			try {
				System.out.println("Estas en el AULA:" +pActual.getNombreAula());
				System.out.println("en esta aula estos equipos : ");
				pActual.mostrarEquipos();
				System.out.println("quieres agregar un equipo? (y/n)");
				BufferedReader stdin = (new BufferedReader (new InputStreamReader (System.in)));
				String option = stdin.readLine();
				if (option.equals("y")){
						
					System.out.println("INTRODUZCA NOMBRE DE HOST: ");	
					String hostName = stdin.readLine();
					System.out.println("INTRODUZCA CUANTA MEMORIA RAM TIENE: ");
					String ram = stdin.readLine();
					System.out.println("INTRODUZCA CAPACIDAD DE HD:");
					String hd = stdin.readLine();
					String ip = pActual.crearip();

					Equipo recienCreado=pActual.add(hostName, ram, hd, ip);
					System.out.println (recienCreado.getHostName());
				}
			}
			 catch(IOException ex ){
				System.exit(1);
			}
					
		}
	}

	public static void borrarEquipos(Collection<Aula> c){
		
		for (Iterator<Aula> it = c.iterator(); it.hasNext();){
			Aula pActual = it.next();
			try {
				System.out.println("Estas en el AULA:" +pActual.getNombreAula());
				System.out.println("en esta aula hay estos Equipos : ");
				pActual.mostrarEquipos();
				System.out.println("dame el nombre del equipo a borrar: ");
				BufferedReader stdin = (new BufferedReader (new InputStreamReader (System.in)));
				String option = stdin.readLine();
				pActual.borrarEquipo(option);
			}
			catch (IOException ex ){
				System.exit(1);
			}
		}
	}
				
	public static void mostrarAula(Collection<Aula> c){
		for (Iterator<Aula> it = c.iterator(); it.hasNext();){
			Aula pActual = it.next();
				System.out.println(" hay un aula llamada "+pActual.getNombreAula());

		}
	}
	public static void mostrarEquipos(Collection<Aula> c){
		for (Iterator<Aula> it = c.iterator(); it.hasNext();){
			Aula pActual = it.next();

			try {
				
				System.out.println("estas en el aula "+pActual.getNombreAula());
				System.out.println("quieres ver equipos? (y/n)");
				BufferedReader stdin = (new BufferedReader (new InputStreamReader (System.in)));
				String option = stdin.readLine();
				if (option.equals("y")){
					pActual.mostrarEquipos();
							
				}
			}

			 catch(IOException ex ){
				System.exit(1);
			}
		}		
	}

	public static void borrarAula(Collection<Aula> c){
		for (Iterator<Aula> it = c.iterator(); it.hasNext();){
			Aula pActual = it.next();
			try {
				System.out.println("Estas en el AULA:" +pActual.getNombreAula());
				System.out.println("quieres borrar? (y/n)");
				BufferedReader stdin = (new BufferedReader (new InputStreamReader (System.in)));
				String option = stdin.readLine();
				if (option.equals("y")){
					 it.remove();
				}

				System.out.println (c);
			}
			 catch(IOException ex ){
				System.exit(1);
			}
		}

	}
}
/*
			BufferedReader stdin = (new BufferedReader (new InputStreamReader (System.in)));
			System.out.println("INTRODUZCA NOMBRE DE HOST: ");	
			String hostName = stdin.readLine();
			System.out.println("INTRODUZCA CUANTA MEMORIA RAM TIENE: ");
			String ram = stdin.readLine();
			System.out.println("INTRODUZCA CAPACIDAD DE HD:");
			String hd = stdin.readLine();


		}
}*/

	

